<%@ page import="com.scalar.chiptrack.utils.ConfigManager,
                 com.scalar.chiptrack.commons.Constants,
                 com.scalar.chiptrack.operations.process.forms.BomPartEntryForm,
                 java.util.ArrayList"%>
 <%--
  Created by IntelliJ IDEA.
  User: Murali Krishna Yengala
  Date: May 12, 2005
  Time: 10:25:54 AM
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/chiptrack-tags.tld" prefix="chiptrack" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>

<chiptrack:checkLogon sourcePage="/finishedGoodsCreateNew.do?action=new" />
<%String chipTracContext = "/" + ConfigManager.getChipTracContext();%>

<html>
    <HEAD><TITLE>Scalarsoft - ChipTrac</TITLE>
        <META http-equiv=Content-Type content="text/html; charset=windows-1252">
        <LINK href="<%=chipTracContext%>/jsp/includes/stylesheets/scalarsoft.css" type="text/css" rel="stylesheet">
    </HEAD>
    <BODY bgColor="#ffffff" leftMargin="0" topMargin="0" marginheight="0" marginwidth="0" >
    <script src="<%=chipTracContext%>/jsp/includes/scripts/functions.js"></script>
    <script src="<%=chipTracContext%>/jsp/includes/scripts/validations.js"></script>
    <script src="<%=chipTracContext%>/jsp/includes/scripts/finishedGoodsPartEntry.js"></script>
    <SCRIPT language="JavaScript">
    <%	ArrayList unitsList = ( ArrayList )request.getAttribute( "units" );
        if( unitsList != null )
        {
            int length = unitsList.size();
    %>
            var unitsArray = new Array( '<%=length%>' );

    <%	    for( int i = 0; i < length; i++ )
            {
                com.scalar.chiptrack.commons.UOM units = (com.scalar.chiptrack.commons.UOM)unitsList.get( i );
    %>
                    var uom		 = '<%=units.getUom()%>';
                    var baseUOM  = '<%=units.getBaseUom()%>';
                    var minValue = '<%=units.getMinValue()%>';
                    var maxValue = '<%=units.getMaxValue()%>';
                    var units  = new Array( uom, baseUOM, minValue, maxValue );
                    unitsArray[ <%=i%> ] = units;
    <%
            }
        }
    %>

    window.onload=init;

    var errIdx;
    var chiptracErrors;
    var chiptracInfo;

    function init()
    {
        errIdx = document.getElementById("errors");
        chiptracErrors = document.getElementById("chiptracErrors");
        chiptracInfo = document.getElementById("chiptracInfo");
    }

    function addEquivalentPart()
    {
        if ( checkValuesForBoardMaking () )
        {
            document.finishedGoodsEntryForm.action = document.finishedGoodsEntryForm.action+"?action=addMoreDupPartsForNewFg";
            document.finishedGoodsEntryForm.submit();
        }
    }

    function save()
    {
        chiptracErrors.innerText = '';
        chiptracInfo.innerText = '';
        errIdx.innerHTML = '';
        var errors = '';

        var fgiProcessStepIds = document.finishedGoodsEntryForm.fgiProcessStepIds;
        if( fgiProcessStepIds )
        {
            if( fgiProcessStepIds.value == "")
            {
                errors = "<li> Please select a FGI Part Number";
            }
        }
        var finishedGoodsPartNo = document.finishedGoodsEntryForm.finishedGoodsPartNo.value;
        if( trim( finishedGoodsPartNo) == '' )
        {
            errors = errors+"<li> OPN / Mktg Part Number cannot be empty";
        }
        //alert ( document.finishedGoodsEntryForm['equivalentPartNosList[0].partNo'].value )
        var programCode = document.finishedGoodsEntryForm.programCode.value;
        if( trim( programCode) == '' )
        {
            errors = errors+ "<li> Program Code cannot be empty";
        }
        var crc = document.finishedGoodsEntryForm.crc.value;
        if( trim( crc ) == '' )
        {
            errors = errors+"<li> CRC Code can be '0', but not empty</li>"
        }
        var algorithm = document.finishedGoodsEntryForm.algorithm.value;
        if( algorithm == '-2' || algorithm  == '-3' )
        {
            errors = errors+ "<li> Select a valid Algorithm";
        }
        var isBlankProduct = document.finishedGoodsEntryForm.isBlankProduct.value;
        if( isBlankProduct == '' )
        {
            errors = errors+ "<li> Please select Is Blank Product";
        }
        if ( !vendorValidations(document.finishedGoodsEntryForm) )
        {
            errors = errors + "<li> Please select atleast one vendor";
        }
        if( errors != '' )
        {
            errIdx.innerHTML = errors;
            chiptracErrors.focus();
            return;
        }
        if( checkForReplicaInEquiPartNos(finishedGoodsPartNo) >= 1 )
        {
            errIdx.innerHTML = "<li> Equivalent OPN cannot contain OPN : " +finishedGoodsPartNo ;
            chiptracErrors.focus();
            return;
        }
        var iEquiPartNosCount = document.finishedGoodsEntryForm.equiPartsCount.value;
        if( iEquiPartNosCount >= 0)
        {
            for( var idx = 0; idx <= iEquiPartNosCount; idx ++ )
            {
                var sEquiPartNo = document.finishedGoodsEntryForm['equivalentPartNosList['+idx+'].partNo'].value
                if( trim( sEquiPartNo ) != "" && checkForReplicaInEquiPartNos(sEquiPartNo) > 1 )
                {
                    errIdx.innerHTML = "<li> Equivalent OPN : " + sEquiPartNo + ", is repeated" ;
                    chiptracErrors.focus();
                    return;
                }
            }
        }
        var bIsSystemParametersCountPresent = document.finishedGoodsEntryForm.contains(document.finishedGoodsEntryForm.systemParametersCount);
        if( bIsSystemParametersCountPresent )
        {
            errMsg = '';
            var length = document.finishedGoodsEntryForm.systemParametersCount.value;
            for( var k = 0; k <= length; k++)
            {
                var name = document.finishedGoodsEntryForm['parametersList['+k+'].paramName'].value;
                var units = document.finishedGoodsEntryForm['parametersList['+k+'].paramUnit'].value;
                var value = trim( document.finishedGoodsEntryForm['parametersList['+k+'].paramVal'].value );
                document.finishedGoodsEntryForm['parametersList['+k+'].paramVal'].value = value;
                var unitType = document.finishedGoodsEntryForm['parametersList['+k+'].paramUnit'].value;
				if( name != "" )
				{
					for( var i = 0; i < k; i++ )
					{
                            var lastName = document.finishedGoodsEntryForm['parametersList['+i+'].paramName'].value.trim();
                            lastName = lastName.trim();
                            if( name == lastName )
                            {
                                errIdx.innerHTML = "<li> parameter name already exists please select another name";
                                document.finishedGoodsEntryForm['parametersList['+k+'].paramName'].focus();
                                return;
                            }
					}
                }
                <% if( unitsList != null ){ %>
                    errors = checkParameterValues( k, units, value, name );
                <% }%>
                if( errMsg.length > 0 )
                {
                    errIdx.innerHTML = errors;
                    document.finishedGoodsEntryForm['parametersList['+k+'].paramVal'].select();
                    return;
                }
            }
        }
        if ( checkValuesForBoardMaking () )
        {
            document.finishedGoodsEntryForm.action = document.finishedGoodsEntryForm.action+"?action=confirmNewFg";
            document.finishedGoodsEntryForm.submit();
        }
    }

	function checkParameterValues( k, unit, value, name )
	{

		var unitArr;
		var baseUom;
		var minValue;
		var maxValue;
        var err = '';
		for( var i = 0; i < unitsArray.length; i++ )
		{
			unitArr = unitsArray[ i ];
			if( unitArr[0] == unit )
			{
				break;
			}
			unitArr = null;
		}
		if( unitArr == null )
		{
			return;
		}

		var baseUom = unitArr[1];
		var minValue = unitArr[2];
		var maxValue = unitArr[3];

		if( baseUom == 'DOUBLE' )
		{
			checkFloat( value, name + ' value ', 'N' );
			if( errMsg.length == 0 )
			{
				if( Number( value ) < Number( minValue ) )
				{
					errMsg = "<li>" + name + " value must be greater than " + minValue;
				}
				else if( Number( value ) > Number( maxValue ) )
				{
					errMsg = "<li>" + name + " Value must be less than or equal to "+ maxValue;
				}
			}
			else
			{
				errMsg = "<li>" + errMsg;
			}
		}
		else if ( baseUom == 'INT' )
		{
			checkInteger( value, name + ' value ', 'N' );
			if( errMsg.length == 0 )
			{
				if( parseInt( value ) < parseInt( minValue ) )
				{
					errMsg = "<li>" + name + " value must be greater than " + minValue;
				}
				else if( parseInt( value ) > parseInt( maxValue ) )
				{
					errMsg = "<li>" + name + " Value must be less than or equal to  "+ maxValue;
				}
			}
			else
			{
				errMsg = "<li>" + errMsg;
			}
		}
		else if ( baseUom == 'STRING' )
		{
			if( errMsg.length == 0 )
			{
				if( value.length < minValue  )
				{
					errMsg = "<li>" + name + " value must be of length greater " + minValue;
				}
				else if( value.length > maxValue )
				{
					errMsg = "<li>" + name + " value must be of length less than "+ maxValue;
				}
			}
			else
			{
				errMsg = "<li>" + errMsg;
			}
		}
        return errMsg;
	}


    function checkForReplicaInEquiPartNos( partNumber )
    {
        var iEquiPartNosCount = document.finishedGoodsEntryForm.equiPartsCount.value;
        var iHitCount = 0;
        if( iEquiPartNosCount >= 0)
        {
            for( var idx = 0; idx <= iEquiPartNosCount; idx ++ )
            {
                var sEquiPartNo = document.finishedGoodsEntryForm['equivalentPartNosList['+idx+'].partNo'].value
                if( trim(partNumber).toUpperCase() == trim(sEquiPartNo).toUpperCase())
                {
                    iHitCount++;
                }
            }
        }
        return iHitCount;
    }


    function algorithmChanged( algorithmElement )
    {
        var algorithm = algorithmElement.value;

        if( algorithm == '-2' )
        {
            newWindow = window.open ('<%=chipTracContext%>/jsp/operations/addNewAlgorithmForFinishedGoods.jsp','addAlgorithmWindow','channelmode=no,directories=no,toolbar=no,menubar=no,personalbar=no,status=yes,scrollbars=yes,width=450 height=225,resizable=no,left=375,top=180');
            newWindow.focus();
        }
    }

    function refresh()
    {
        if ( checkValuesForBoardMaking () )
        {
            document.finishedGoodsEntryForm.action = document.finishedGoodsEntryForm.action+"?action=reload";
            document.finishedGoodsEntryForm.submit();
        }
    }
    </script>
    <!-- Top Header Start-->
    <%@ include file="/jsp/includes/header.jsp" %>
    <!-- Top Header End-->
    <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
      <TBODY >
      <TR>
        <TD width='180' valign='top' background='<%=chipTracContext%>/jsp/includes/images/left_red_bg.gif'>

        <!-- Side Navigation start -->
        <%@ include file="/jsp/operations/product_menu.jsp" %></TD>
        <!-- end of the side navigations -->

        <TD bgcolor="#ffffff">
        <IMG height=9 src="<%=chipTracContext%>/jsp/includes/images/spacer.gif" width=8></TD>
        <TD bgcolor="#ffffff"><IMG height=480 src="<%=chipTracContext%>/jsp/includes/images/spacer.gif" width=2></TD>
        <TD valign="top" width="100%">

        <IMG height=1 src="<%=chipTracContext%>/jsp/includes/images/clear.gif" width=500 border=0>
        <BR>
        <!-- from here your body starts -->
        <html:form action="/finishedGoodsEntry" name="finishedGoodsEntryForm" type="com.scalar.chiptrack.operations.finishedGoods.forms.FinishedGoodsEntryForm">
            <TABLE width='95%' align=right cellpadding='3' cellspacing='2' border='0' bordercolor='black'>
                <%--todo change the following heading if necessary--%>
                <TR><Td colspan='4' class="NArialW" align=center>New Finished Goods</td></tr>
                <logic:equal name="showMessage" value="TRUE">
                    <TR><TD colspan='4' align='left'><font class='NArialS' color='blue'><B><%=Constants.NO_MODIFY_RIGHTS %></B></font></TD></TR>
                </logic:equal>
                <TR><TD colspan='4' id="chiptracErrors"><chiptrack:errors styleClass="NArialL"/></TD></TR>
                <TR><TD colspan='4' id="chiptracInfo"><chiptrack:info styleClass="NArialL"/></TD></TR>
                <tr><td colspan='4' align="left" class='NArialL'>&nbsp;<FONT id="errors" color='FF0000'></font></td></tr>
                <TR>
                    <TD class='NArialL'> Base Product : </TD>
                    <TD class="NArialL">
                        <html:text name="finishedGoodsEntryForm" property="baseProductNo" size='25' styleClass="txfield" disabled="true"/>
                    </TD>
                    <TD class='NArialL' nowrap>
                        <logic:present name="fgiProductsList">
                            Select FGI Part Number :
                        </logic:present>
                    </TD>
                    <TD class="NArialL"  width='25%'>
                        <logic:present name="fgiProductsList">
                            <html:select property="fgiProcessStepIds" name="finishedGoodsEntryForm" styleClass="txfield"  multiple="true" size="6">
                            <html:options collection="fgiProductsList" property="value" labelProperty="label"/>
                            </html:select>
                        </logic:present>
                    </TD>
                </TR>
                <TR>
                    <TD class='NArialL' width='25%'> Process Name : </TD>
                    <TD class="NArialL" width='25%'>
                        <html:text name="finishedGoodsEntryForm" property="baseProcessType" size='25' styleClass="txfield" disabled="true"/>
                    </TD>
                    <TD class='NArialL' width='25%' nowrap> Select Customer Name : </TD>
                    <TD class="NArialL" width='25%'>
<%--                        <html:text name="finishedGoodsEntryForm" property="customerName" size='25' styleClass="txfield" disabled="true"/>--%>
                        <html:select property="customerIds" name="finishedGoodsEntryForm" styleClass="txfield" multiple="true" size="6">
                        <html:options collection="customersList" property="value" labelProperty="label"/>
                        </html:select>
                    </TD>
                </TR>
                <TR>
                    <TD class='NArialL' nowrap> OPN / Mktg Part Number :<font color="RED" size="1"><B>*</B></font></TD>
                    <TD class="NArialL">
                        <html:text name="finishedGoodsEntryForm" property="finishedGoodsPartNo" size='25' styleClass="txfield" maxlength="50"/>
                    </TD>
                    <TD class='NArialL'> Program Code :<font color="RED" size="1"><B>*</B></font> </TD>
                    <TD class='NArialL'>
                        <html:text name="finishedGoodsEntryForm" property="programCode" size='25' styleClass="txfield"  maxlength="50"/>
                    </TD>

                </TR>
                <TR>
                    <TD class='NArialL'> Is Approved : </TD>
                    <TD class="NArialL">
                        <html:checkbox name="finishedGoodsEntryForm" property="approved" styleClass="txfield"/>
                    </TD>
                    <TD class='NArialL'> CRC Code : </TD>
                    <TD class="NArialL">
                        <html:text name="finishedGoodsEntryForm" property="crc" styleClass='txField' size='25' maxlength='50'/>
                    </TD>
                </TR>
                <TR>
                    <TD class='NArialL'> Description : </TD>
                    <TD class="NArialL">
                        <html:textarea name="finishedGoodsEntryForm" property="description" styleClass='txfield' cols='25' rows='6' onkeydown="javascript:setTextAreaMaxLength(this,300)" onkeyup="javascript:setTextAreaMaxLength(this,300)"/>
                    </TD>
                    <TD class='NArialL'> Algorithm : </TD>
                    <TD class='NArialL'>

                        <html:select styleClass='txfield' property='algorithm' onchange='algorithmChanged(this)'>
                            <html:option value=''></html:option>


                            <%--<option value="-4"></option>--%>
                            <html:options collection="algorithmList" property="value" labelProperty="label"/>
                            <html:option value='-3'>----------------</html:option>
                            <html:option value='-2'>Add Algorithm</html:option>
                        </html:select>

                        <%--<html:select styleClass='txfield' property='algorithm' onchange='algorithmChanged(this)'>
                            <html:option value=''>Select Algorithm</html:option>
                            <html:option value='-2'>Add Algorithm</html:option>
                            <html:option value='-3'>----------------</html:option>
                            <option value="-4"></option>
                            <html:options collection="algorithmList" property="value" labelProperty="label"/>
                        </html:select>--%>
                    </TD>
                </TR>
                <TR>
                    <TD class='NArialL'> Is Blank Product :<font color="RED" size="1"><B>*</B></font> </TD>
                    <TD class="NArialL">
                        <html:select property="isBlankProduct" styleClass="txfield">
                            <html:option value=""></html:option>
                            <html:option value="0">Yes</html:option>
                            <html:option value="1">No</html:option>
                        </html:select>
                    </TD>
                    <TD class='NArialL'> </TD>
                    <TD class='NArialL'> </TD>
                </TR>
                <TR><TD colspan='4'>
                    <IMG src="<%=chipTracContext%>/jsp/includes/images/spacer.gif" height='20'>
                </TD></TR>
                 <TR><TD colspan='4'>
                    <table width="48%" border='0'>
                        <tr><td class="NArialL" height="18" colspan=3> Equivalent OPN :</td></tr>
                        <tr>
                            <td width='100%' align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">OPN</font></td>
                        </tr>
                        <nested:iterate name="finishedGoodsEntryForm" property="equivalentPartNosList" id="equivalentPart" type="com.scalar.chiptrack.operations.finishedGoods.EquivalentPartNumber" indexId="equiPartsCount">
                        <tr>
                            <td align="center" bgcolor="#DEE1E2">
                            <font class="NArialL" color="#FFFFFF">
                            <nested:text name="equivalentPart" property="partNo" size='25' styleClass="txfield"  maxlength="50"/>
                            </font></td>
                        </tr>
                        </nested:iterate>
                        <input type="hidden" name="equiPartsCount" value="<bean:write name="equiPartsCount"/>">
                        <TR>
                            <TD class='NArialL' align='right' colspan='2'><a href="javascript:addEquivalentPart()"><img src="<%=chipTracContext%>/jsp/includes/images/addmore.gif" border=0 onmouseover="window.status='';return true" onmouseout="window.status='';return true" title=""></a></TD>
                        </TR>
                    </table>
                </td>
                </tr>
                <TR><TD colspan='4'>
                    <IMG src="<%=chipTracContext%>/jsp/includes/images/spacer.gif" height='20'>
                </TD></TR>
                 <TR><TD colspan='4'>
                    <table width="70%" border='0'>
                        <logic:present property="parametersList" name="finishedGoodsEntryForm">
                            <tr><td class="NArialL" height="18" colspan=3> System Parameters :</td></tr>
                            <tr>
                                <td width="33%" align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">Parameter</font></td>
                                <td width="33%" align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">Units</font></td>
                                <td width="33%" align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">Value</font></font></td>
                            </tr>
                            <nested:iterate name="finishedGoodsEntryForm" property="parametersList" id="parametersList" type="com.scalar.chiptrack.operations.processtypesetup.ProcessParameters" indexId="systemParametersCount">
                                <tr>
                                    <td align="center" bgcolor="#DEE1E2">
                                        <nested:text property="paramName" styleClass="txfield" disabled="true" />
                                    </td>
                                    <td align="center" bgcolor="#DEE1E2" height="1">
                                        <nested:text property="paramUnit" styleClass="txfield" disabled="true" />
                                    </td>
                                    <td align="center" bgcolor="#DEE1E2" height="1">
                                        <nested:text property="paramVal" styleClass="txfield" maxlength="50"/>
                                    </td>
                                </tr>
                            </nested:iterate>
                            <input type='hidden' name="systemParametersCount" value="<bean:write name="systemParametersCount"/>">
                        </logic:present>
                        <logic:notPresent  property="parametersList" name="finishedGoodsEntryForm">
                            <tr><td colspan='4' align="left" class='NArialL'><FONT id="errors" color='FF0000'>No System Parameters were found for this process type</font></td></tr>
                        </logic:notPresent>
                    </table>
                </td>
                </tr>
                 <br>
                 <TR><TD colspan='4'>
                    <table width="70%" border='0'>
                        <tr><td class="NArialL" height="18" colspan=3>Vendor Location Information :<font color="RED" size="1"><B>*</B></font></td></tr>
                        <tr>
                            <td width="13%" align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">Select</font></td>
                            <td width="13%" align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">Priority</font></td>
                            <td width="74%" align="center" bgcolor="#993333" height="1"><font class="NArialL"><font color="#FFFFFF">Location</font></font></td>
                        </tr>
                        <%int idd = 0;%>
                        <logic:iterate name="finishedGoodsEntryForm" property="vendorList" id="vendors" type="com.scalar.chiptrack.operations.process.VendorLocation" indexId="chkCount">
                            <tr>
                                <td width="20%" align="center" bgcolor="#DEE1E2"
                                height="1"><font class="NArialL">
                                <font color="#FFFFFF">
                                <%
                                String str = "checkLocationForBom("+ chkCount +")";
                                %>
                                <html:checkbox name="vendors" property="select" styleClass="txfield" onclick="<%=str%>" />
                                </font></font></td>
                                <td width="20%" align="center" bgcolor="#DEE1E2" height="1">
                                <font class="NArialL" color="#FFFFFF">
                                <logic:equal name="vendors" property="select" value="on">
                                <html:text name="vendors" property="priority" size="6" maxlength="4" styleClass="txfield" disabled="true" />
                                </logic:equal>
                                <logic:notEqual name="vendors" property="select" value="on">
                                <html:text name="vendors" property="priority" size="6" maxlength="4" styleClass="txfield" value="" disabled="true" />
                                </logic:notEqual>
                                </font></td>
                                <td width="60%" align="center" bgcolor="#DEE1E2" height="1"><font class="NArialL"><font color="#FFFFFF">
                                    <html:text name="vendors" property="locationName" disabled="true" size='40' styleClass="txfield" />
                                    <html:hidden name="vendors" property="locationID" />
                                </font></font></td>
                            </tr>
                        <% idd++; %><!--Very important please dont delete.-->
                        </logic:iterate>
                    </table></TD>
                 </TR>
                 </TABLE>
                 </TD></TR>
                <TR><TD colspan='4'><IMG src="<%=chipTracContext%>/jsp/includes/images/spacer.gif" height='10'></TD></TR>
                 <TR><TD colspan='4' align=center>
                        <chiptrack:restrictedLink functionality='<%=Functionality.FINISHEDGOODS_SETUP%>' action='<%=User.USER_ACTION_MODIFY%>' href="javascript:save();" onmouseover="window.status='Click here to save';return true" onmouseout="window.status='';return true">
                        <img border="0" src="<%=chipTracContext%>/jsp/includes/images/save.gif" width="53" height="17" title=""></chiptrack:restrictedLink>
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%--                        todo reset method --%>
                        <A HREF="javascript:finishedGoodsEntryForm.reset()"><IMG src="<%=chipTracContext%>/jsp/includes/images/reset.gif" border=0 onmouseover="window.status='Click to Reset';return true" onmouseout="window.status='';return true" title="Click here to Reset"></A>
                     </TD>
                  </TR>
                 <input type="hidden" name="count" value="<%=idd%>">
                </TABLE>
            </table>
        </html:form>
        <!-- till here -->
        </TD>
        <TD bgcolor="#ffffff"><IMG height=1 src="<%=chipTracContext%>/jsp/includes/images/spacer.gif" width=1></TD>
        </TR>
        </TABLE>
        <!-- Footer starts here -->
        <%@ include file="/jsp/includes/footer.jsp" %>
        <!-- footer end here -->
    </body>
</html>